1. The Field of the Invention
The present invention relates to displaying video images generated by a camera on a display, and more particularly to detecting collisions or any other type of interactions between video images generated by a camera and an object depicted on a display.
2. The Relevant Art
It is common for personal computers to be equipped with a camera for receiving video images as input. Conventionally, such camera is directed toward a user of the personal computer so as to allow the user to view himself or herself on a display of the personal computer during use. To this end, the user is permitted to view real-time images that can be used for various purposes.
One purpose for use of a personal computer-mounted camera is to display an interaction between camera-generated video images and objects generated by the personal computer and depicted on the associated display. In order to afford this interaction, multiple operations must be carried out. For example, the user's position and body parts must be identified. This may be carried out using a “blues screen.”
Once the user's position and body parts are identified, the task of identifying a current position of the user image still remains. This includes identifying a current position of any body parts of the user image. Identification of an exact current location of the user image and his or her body parts is critical for affording accurate and realistic interaction with objects in the virtual computer-generated environment.
Each time the current location of the user image is identified, it is done so with some associated probability of error. In many applications, the ultimately displayed interaction may be improved if such applications were given some indication of a level of certainty that the current location of the user image has been identified correctly.
Many difficulties arise during the process of identifying the current position of the body parts of the user image. It is often very difficult to discern the user image with respect to the background image. While there are many different types of methods for accomplishing this task which have associated benefits, each of such methods exhibit certain drawbacks that can result in errors. These errors are often manifested in the user image being partly transparent or in flawed interaction between the user image and the objects of the virtual environment.
Until now, processes that identify current positions associated with the user image employ only a single strategy. One process focuses on identifying the location of the user image by recognizing body parts. This may be accomplished in various ways. For example, relative shapes and sizes of the body parts of the user image may play a role in recognition. Further, a history of the body parts of the user image may be employed. This strategy, however, often exhibits problems when items in the background image exhibit shapes and sizes similar to the body parts of the user image. Further, the recognition process may be extremely complicated and subject to error when the images of the user are taken from different perspectives or in combination with foreign objects, e.g., hats, etc.
Other processes that identify current positions associated with the user image rely on motion of the various body parts of the user image and motion of the user himself or herself. These methods also exhibit shortcomings. For instance, if items in the background image move for any reason, such motion may be erroneously construed to be associated with the person and therefore result in faulty interaction with the virtual computer-generated environment. Examples of such items in the background image may include a television, door, or any other device that may move for any reason. An example of the foregoing motion detection process may be found in J. K. Aggarwal and Q. Cai. Human Motion Analysis: A Review. IEEE Nonrigid and Articulated Motion Workshop Proceedings, 90-102 (1997).
As such, when used individually, the foregoing processes that identify current positions associated with the user image often result in erroneous results.